package com.empire.module.member.service.superrelationnode;

import com.empire.module.member.controller.admin.superrelationnode.vo.*;
import com.empire.module.member.dal.dataobject.superrelationnode.SuperRelationNodeDO;
import com.empire.framework.common.pojo.PageResult;

import javax.validation.Valid;

/**
 * 超级关系--节点信息 Service 接口
 *
 * @author 主席大人
 */
public interface SuperRelationNodeService {

    /**
     * 创建超级关系--节点信息
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createSuperRelationNode(@Valid SuperRelationNodeSaveReqVO createReqVO);

    /**
     * 更新超级关系--节点信息
     *
     * @param updateReqVO 更新信息
     */
    void updateSuperRelationNode(@Valid SuperRelationNodeSaveReqVO updateReqVO);

    /**
     * 删除超级关系--节点信息
     *
     * @param id 编号
     */
    void deleteSuperRelationNode(Long id);

    /**
     * 获得超级关系--节点信息
     *
     * @param id 编号
     * @return 超级关系--节点信息
     */
    SuperRelationNodeDO getSuperRelationNode(Long id);

    /**
     * 获得超级关系--节点信息分页
     *
     * @param pageReqVO 分页查询
     * @return 超级关系--节点信息分页
     */
    PageResult<SuperRelationNodeDO> getSuperRelationNodePage(SuperRelationNodePageReqVO pageReqVO);

}